xtermjs/xterm.js (xterm)
### [`v5.3.0`](https://togithub.com/xtermjs/xterm.js/releases/tag/5.3.0)
[Compare Source](https://togithub.com/xtermjs/xterm.js/compare/5.2.1...5.3.0)
#### 🚀 Features
- The default DOM-based renderer is significantly faster now ([#4605](https://togithub.com/xtermjs/xterm.js/issues/4605), [#4631](https://togithub.com/xtermjs/xterm.js/issues/4631), [#4651](https://togithub.com/xtermjs/xterm.js/issues/4651), [#4662](https://togithub.com/xtermjs/xterm.js/issues/4662), [#4681](https://togithub.com/xtermjs/xterm.js/issues/4681), [#4754](https://togithub.com/xtermjs/xterm.js/issues/4754)) via [@jerch](https://togithub.com/jerch), [@Tyriar](https://togithub.com/Tyriar), [@PerBothner](https://togithub.com/PerBothner), [@tisilent](https://togithub.com/tisilent)
- The smooth scroll feature now affects `scrollLines`, `scrollPages`,`scrollToLine`, `scrollToTop` and `scrollToBottom` ([#4482](https://togithub.com/xtermjs/xterm.js/issues/4482), [#4714](https://togithub.com/xtermjs/xterm.js/issues/4714)) via [@tisilent](https://togithub.com/tisilent), [@Tyriar](https://togithub.com/Tyriar)
- `minimumContrastRatio` now applies 50% of the contrast ratio to dimmed text ([#4672](https://togithub.com/xtermjs/xterm.js/issues/4672)) via [@Tyrira](https://togithub.com/Tyrira)
##### 📦 API
- There's a new `trace` log level ([#4687](https://togithub.com/xtermjs/xterm.js/issues/4687), 4709) via [@Tyriar](https://togithub.com/Tyriar)
```ts
const term = new Terminal({
logLevel: 'trace'
});
```
- New `logger` delegate option ([#4563](https://togithub.com/xtermjs/xterm.js/issues/4563), [#4564](https://togithub.com/xtermjs/xterm.js/issues/4564)) via [@Tyriar](https://togithub.com/Tyriar). This new API allows the embedder to define the logging behavior, instead of always using to `console`
```ts
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](https://togithub.com/xtermjs/xterm.js/issues/4636)) via [@Tyriar](https://togithub.com/Tyriar)
```ts
const term = new Terminal({
ignoreBracketedPasteMode: true
});
```
- New `cursorInactiveStyle` option ([#4657](https://togithub.com/xtermjs/xterm.js/issues/4657)) via [@tisilent](https://togithub.com/tisilent)
```ts
const term = new Terminal({
cursorInactiveStyle: 'none'
});
```
#### 🐞 Bug fixes
- Fix character size being affected by CSS transformations ([#4366](https://togithub.com/xtermjs/xterm.js/issues/4366)) via [@arekouzounian](https://togithub.com/arekouzounian)
- Fix mouse tracking behavior ([#4583](https://togithub.com/xtermjs/xterm.js/issues/4583)) via [@jerch](https://togithub.com/jerch)
- Improve rendering of the DOM renderer's underline cursor ([#4584](https://togithub.com/xtermjs/xterm.js/issues/4584)) via [@dlech](https://togithub.com/dlech)
- Fix issues in the accessibility tree ([#4637](https://togithub.com/xtermjs/xterm.js/issues/4637)) via [@meganrogge](https://togithub.com/meganrogge)
- Fix reset and clear leaving viewport in a bad state ([#4638](https://togithub.com/xtermjs/xterm.js/issues/4638)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix API facade memory leaks ([#4655](https://togithub.com/xtermjs/xterm.js/issues/4655)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix memory leak in cursor blink state manager ([#4659](https://togithub.com/xtermjs/xterm.js/issues/4659)) via [@SvanT](https://togithub.com/SvanT)
- Fix inverse rendering when a transparent foreground is used ([#4667](https://togithub.com/xtermjs/xterm.js/issues/4667)) via [@Dennnnny](https://togithub.com/Dennnnny)
- Fix disposing of decorations ([#4671](https://togithub.com/xtermjs/xterm.js/issues/4671)) via [@Tyriar](https://togithub.com/Tyriar)
- Render selection background consistently in the DOM renderer ([#4673](https://togithub.com/xtermjs/xterm.js/issues/4673)) via [@Tyriar](https://togithub.com/Tyriar)
- Improve rendering of powerline circle line custom glyph ([#4729](https://togithub.com/xtermjs/xterm.js/issues/4729)) via [@tisilent](https://togithub.com/tisilent)
- Improve texture atlas utilization and fix glyph corruption when merging ([#4732](https://togithub.com/xtermjs/xterm.js/issues/4732)) via [@Tyriar](https://togithub.com/Tyriar)
#### 📝 Documentation and internal improvements
- Improve safety of log service ([#4565](https://togithub.com/xtermjs/xterm.js/issues/4565)) via [@Tyriar](https://togithub.com/Tyriar)
- Exploring use of `CSSStyleSheet` web API ([#4611](https://togithub.com/xtermjs/xterm.js/issues/4611), #[#4619](https://togithub.com/xtermjs/xterm.js/issues/4619), [#4678](https://togithub.com/xtermjs/xterm.js/issues/4678), [#4680](https://togithub.com/xtermjs/xterm.js/issues/4680)) via [@SimonSiefke](https://togithub.com/SimonSiefke), [@Tyriar](https://togithub.com/Tyriar)
- Update TypeScript to 5.1.6 ([#4612](https://togithub.com/xtermjs/xterm.js/issues/4612)) via [@SimonSiefke](https://togithub.com/SimonSiefke)
- Mention discussions in CONTRIBUTING.md ([#4617](https://togithub.com/xtermjs/xterm.js/issues/4617)) via [@Tyriar](https://togithub.com/Tyriar)
- Improve type safety of ColorIndex ([#4618](https://togithub.com/xtermjs/xterm.js/issues/4618)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix demo light theme cursor colors ([#4626](https://togithub.com/xtermjs/xterm.js/issues/4626)) via [@Tyriar](https://togithub.com/Tyriar)
- Add nvmrc using node 16 ([#4666](https://togithub.com/xtermjs/xterm.js/issues/4666)) via [@Tyriar](https://togithub.com/Tyriar)
- Restrict comments to 100 characters ([#4668](https://togithub.com/xtermjs/xterm.js/issues/4668)) via [@Tyriar](https://togithub.com/Tyriar)
- Lint API xterm.d.ts file ([#4669](https://togithub.com/xtermjs/xterm.js/issues/4669), [#4677](https://togithub.com/xtermjs/xterm.js/issues/4677)) via [@Tyriar](https://togithub.com/Tyriar)
- General clean up ([#4676](https://togithub.com/xtermjs/xterm.js/issues/4676), [#4683](https://togithub.com/xtermjs/xterm.js/issues/4683), [#4688](https://togithub.com/xtermjs/xterm.js/issues/4688), [#4689](https://togithub.com/xtermjs/xterm.js/issues/4689), [#4733](https://togithub.com/xtermjs/xterm.js/issues/4733)) via [@Tyriar](https://togithub.com/Tyriar)
- Reduce repetition with internal terminal types and inherit docs from API ([#4679](https://togithub.com/xtermjs/xterm.js/issues/4679)) via [@Tyriar](https://togithub.com/Tyriar)
- Improve lifecycle of WebLinksAddon.api, test all country tlds ([#4691](https://togithub.com/xtermjs/xterm.js/issues/4691)) via [@Tyriar](https://togithub.com/Tyriar)
- Stub out all CSI api tests ([#4692](https://togithub.com/xtermjs/xterm.js/issues/4692)) via [@Tyriar](https://togithub.com/Tyriar)
- Migrate to GitHub Actions and speed up CI ([#4693](https://togithub.com/xtermjs/xterm.js/issues/4693), [#4697](https://togithub.com/xtermjs/xterm.js/issues/4697), [#4698](https://togithub.com/xtermjs/xterm.js/issues/4698), [#4699](https://togithub.com/xtermjs/xterm.js/issues/4699), [#4700](https://togithub.com/xtermjs/xterm.js/issues/4700), [#4710](https://togithub.com/xtermjs/xterm.js/issues/4710), [#4712](https://togithub.com/xtermjs/xterm.js/issues/4712), [#4715](https://togithub.com/xtermjs/xterm.js/issues/4715), [#4716](https://togithub.com/xtermjs/xterm.js/issues/4716), [#4734](https://togithub.com/xtermjs/xterm.js/issues/4734)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix spaces in bce demo ([#4694](https://togithub.com/xtermjs/xterm.js/issues/4694)) via [@jerch](https://togithub.com/jerch)
- Add automatic resize to demo ([#4695](https://togithub.com/xtermjs/xterm.js/issues/4695)) via [@PerBothner](https://togithub.com/PerBothner)
- Add no unused variables lint warning ([#4718](https://togithub.com/xtermjs/xterm.js/issues/4718)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix demo warnings ([#4721](https://togithub.com/xtermjs/xterm.js/issues/4721), [#4722](https://togithub.com/xtermjs/xterm.js/issues/4722)) via [@Tyriar](https://togithub.com/Tyriar)
- Adopt `@ts-check` in JS files ([#4723](https://togithub.com/xtermjs/xterm.js/issues/4723), [#4724](https://togithub.com/xtermjs/xterm.js/issues/4724)) via [@Tyriar](https://togithub.com/Tyriar)
- Warn on eslint rule `@typescript-eslint/no-useless-constructor` ([#4725](https://togithub.com/xtermjs/xterm.js/issues/4725)) via [@Tyriar](https://togithub.com/Tyriar)
- Warn on eslint rule `@typescript-eslint/no-confusing-void-expression` ([#4726](https://togithub.com/xtermjs/xterm.js/issues/4726)) via [@Tyriar](https://togithub.com/Tyriar)
- Start migration to `@playwright/test` as the integration test runner ([#4735](https://togithub.com/xtermjs/xterm.js/issues/4735)) via [@Tyriar](https://togithub.com/Tyriar)
#### 🎉 New real-world use cases
- cloudtutor.io ([#4570](https://togithub.com/xtermjs/xterm.js/issues/4570)) via [@naufalafif](https://togithub.com/naufalafif)
- Helix Editor Playground ([#4585](https://togithub.com/xtermjs/xterm.js/issues/4585)) via [@tomgroenwoldt](https://togithub.com/tomgroenwoldt)
- Coder ([#4595](https://togithub.com/xtermjs/xterm.js/issues/4595)) via [@matifali](https://togithub.com/matifali)
***
#### 📥 Addons
##### xterm-addon-canvas
- Add getRasterizedGlyph null and undefined check ([#4596](https://togithub.com/xtermjs/xterm.js/issues/4596)) via [@lewis-sanchez](https://togithub.com/lewis-sanchez)
- Fix various underlines by rendering them upwards ([#4648](https://togithub.com/xtermjs/xterm.js/issues/4648), [#4664](https://togithub.com/xtermjs/xterm.js/issues/4664)) via [@tisilent](https://togithub.com/tisilent)
##### xterm-addon-image
- The images addon has been merged into the main repository ([#4577](https://togithub.com/xtermjs/xterm.js/issues/4577), [#4727](https://togithub.com/xtermjs/xterm.js/issues/4727)) via [@jerch](https://togithub.com/jerch)
##### xterm-addon-ligatures
- Enable the ligatures addon on Electron ([#4387](https://togithub.com/xtermjs/xterm.js/issues/4387)) via [@LabhanshAgrawal](https://togithub.com/LabhanshAgrawal)
##### xterm-addon-serialize
- Fallback to default ANSIcolors when running xterm-headless ([#4348](https://togithub.com/xtermjs/xterm.js/issues/4348)) via [@silamon](https://togithub.com/silamon)
##### xterm-addon-webgl
- Render the cursor in the WebGL canvas ([#4568](https://togithub.com/xtermjs/xterm.js/issues/4568)) via [@xzfc](https://togithub.com/xzfc)
#### 🤝 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
### [`v5.2.1`](https://togithub.com/xtermjs/xterm.js/releases/tag/5.2.1)
[Compare Source](https://togithub.com/xtermjs/xterm.js/compare/5.2.0...5.2.1)
#### 🐞 Bug fixes
- Fix NPEs on buffer line and windowsPty option ([#4551](https://togithub.com/xtermjs/xterm.js/issues/4551)) via [@Tyriar](https://togithub.com/Tyriar)
### [`v5.2.0`](https://togithub.com/xtermjs/xterm.js/releases/tag/5.2.0)
[Compare Source](https://togithub.com/xtermjs/xterm.js/compare/5.1.0...5.2.0)
#### 🚀 Features
- Support for the overline attribute SGR 53/55 ([#4526](https://togithub.com/xtermjs/xterm.js/issues/4526), [#4532](https://togithub.com/xtermjs/xterm.js/issues/4532)) via [@Tyriar](https://togithub.com/Tyriar)
##### 📦 API
- Improved Windows workarounds with the new windowsPty option ([#4539](https://togithub.com/xtermjs/xterm.js/issues/4539)) via [@Tyriar](https://togithub.com/Tyriar)
```ts
const term = new Terminal({
windowsPty: {
backend: 'conpty',
buildNumber: 19000
}
});
```
#### 🐞 Bug fixes
- Fix performance issue related to hovering links ([#4341](https://togithub.com/xtermjs/xterm.js/issues/4341)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix exception by validating rows are correct when rendering ([#4346](https://togithub.com/xtermjs/xterm.js/issues/4346)) via [@Tyriar](https://togithub.com/Tyriar)
- Improve rendering of dotted underline ([#4350](https://togithub.com/xtermjs/xterm.js/issues/4350)) via [@Tyriar](https://togithub.com/Tyriar)
- Invalidate links after resizing ([#4358](https://togithub.com/xtermjs/xterm.js/issues/4358)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix texture atlas exception thrown when changing options ([#4390](https://togithub.com/xtermjs/xterm.js/issues/4390)) via [@Tyriar](https://togithub.com/Tyriar)
- Show hollow cursor when unfocused, regardless of cursor type ([#4443](https://togithub.com/xtermjs/xterm.js/issues/4443)) via [@tisilent](https://togithub.com/tisilent)
- Fix out of sync link underlines after resizing on Windows ([#4458](https://togithub.com/xtermjs/xterm.js/issues/4458)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix a lifecycle issue with decorations ([#4465](https://togithub.com/xtermjs/xterm.js/issues/4465)) via [@Tyriar](https://togithub.com/Tyriar)
- Rerender in the DOM renderer after options change ([#4475](https://togithub.com/xtermjs/xterm.js/issues/4475)) via [@kelvinhammond](https://togithub.com/kelvinhammond)
- Fix DECRQM reports and add DECBKM ([#4478](https://togithub.com/xtermjs/xterm.js/issues/4478)) via [@jerch](https://togithub.com/jerch)
- Fix links not working when using a screen reader ([#4491](https://togithub.com/xtermjs/xterm.js/issues/4491)) via [@jerch](https://togithub.com/jerch)
- Ensure decorations in the top layer render on top of decorations in the bottom layer ([#4516](https://togithub.com/xtermjs/xterm.js/issues/4516)) via [@jeanp413](https://togithub.com/jeanp413)
- Avoid triggering a reflow while rendering search decorations ([#4521](https://togithub.com/xtermjs/xterm.js/issues/4521)) via [@jeanp413](https://togithub.com/jeanp413)
- Don't apply dim to background color ([#4525](https://togithub.com/xtermjs/xterm.js/issues/4525)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix exception and performance issue when rendering link underlines ([#4546](https://togithub.com/xtermjs/xterm.js/issues/4546)) via [@jerch](https://togithub.com/jerch)
#### 📝 Documentation and internal improvements
- Remove unused buffer code ([#4335](https://togithub.com/xtermjs/xterm.js/issues/4335)) via [@jerch](https://togithub.com/jerch)
- Explore a different accessibility view ([#4340](https://togithub.com/xtermjs/xterm.js/issues/4340), [#4375](https://togithub.com/xtermjs/xterm.js/issues/4375), [#4376](https://togithub.com/xtermjs/xterm.js/issues/4376), [#4377](https://togithub.com/xtermjs/xterm.js/issues/4377), [#4381](https://togithub.com/xtermjs/xterm.js/issues/4381), [#4382](https://togithub.com/xtermjs/xterm.js/issues/4382), [#4383](https://togithub.com/xtermjs/xterm.js/issues/4383), [#4389](https://togithub.com/xtermjs/xterm.js/issues/4389), [#4395](https://togithub.com/xtermjs/xterm.js/issues/4395), [#4398](https://togithub.com/xtermjs/xterm.js/issues/4398), [#4400](https://togithub.com/xtermjs/xterm.js/issues/4400), [#4402](https://togithub.com/xtermjs/xterm.js/issues/4402), [#4406](https://togithub.com/xtermjs/xterm.js/issues/4406), [#4413](https://togithub.com/xtermjs/xterm.js/issues/4413), [#4427](https://togithub.com/xtermjs/xterm.js/issues/4427), [#4536](https://togithub.com/xtermjs/xterm.js/issues/4536)) via [@meganrogge](https://togithub.com/meganrogge), [@Tyriar](https://togithub.com/Tyriar)
- Update CI containers to Ubuntu 20.04 ([#4347](https://togithub.com/xtermjs/xterm.js/issues/4347)) via [@silamon](https://togithub.com/silamon)
- Update CI containers to use Node 18 ([#4542](https://togithub.com/xtermjs/xterm.js/issues/4542)) via [@silamon](https://togithub.com/silamon)
4542
- Remove unused imports ([#4361](https://togithub.com/xtermjs/xterm.js/issues/4361)) via [@Eugeny](https://togithub.com/Eugeny)
- Replace dom helper with HTMLElement.remove() ([#4364](https://togithub.com/xtermjs/xterm.js/issues/4364)) via [@Tyriar](https://togithub.com/Tyriar)
- Show proper parameter hints when calling createInstance ([#4393](https://togithub.com/xtermjs/xterm.js/issues/4393)) via [@Tyriar](https://togithub.com/Tyriar)
- Correct registerMarker API docs ([#4464](https://togithub.com/xtermjs/xterm.js/issues/4464)) via [@Tyriar](https://togithub.com/Tyriar)
- Add FAQ to new issue report ([#4512](https://togithub.com/xtermjs/xterm.js/issues/4512)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix buffer corruption for utf8 transport in demo ([#4527](https://togithub.com/xtermjs/xterm.js/issues/4527)) via [@jerch](https://togithub.com/jerch)
#### ⚠️ Deprecations
- `windowsMode` has been deprecated in favor of `windowsPty`
```ts
// Before 5.2
term = new Terminal({ windowsMode: true });
// After 5.2
term = new Terminal({
windowsPty: {
backend: 'conpty',
buildNumber: 19000
}
});
```
#### 🎉 New real-world use cases
- graSSHopper ([#4356](https://togithub.com/xtermjs/xterm.js/issues/4356)) via [@Coding-Kiwi](https://togithub.com/Coding-Kiwi)
- DomTerm ([#4456](https://togithub.com/xtermjs/xterm.js/issues/4456)) via [@Tyriar](https://togithub.com/Tyriar)
***
#### 📥 Addons
##### xterm-addon-canvas
- Fix rendering of underline on wide characters ([#4352](https://togithub.com/xtermjs/xterm.js/issues/4352)) via [@Tyriar](https://togithub.com/Tyriar)
- Update selection properly after changing themes ([#4353](https://togithub.com/xtermjs/xterm.js/issues/4353)) via [@Tyriar](https://togithub.com/Tyriar)
- Update selection properly after a resize ([#4355](https://togithub.com/xtermjs/xterm.js/issues/4355)) via [@Tyriar](https://togithub.com/Tyriar)
- Correct cell background color after clearing formatting ([#4438](https://togithub.com/xtermjs/xterm.js/issues/4438)) via [@jerch](https://togithub.com/jerch)
- Fix rendering of 0xE0BB and 0xE0BF powerline symbols ([#4451](https://togithub.com/xtermjs/xterm.js/issues/4451)) via [@Starwort](https://togithub.com/Starwort)
- Fix rendering of cursor leaving artifacts on Firefox ([#4500](https://togithub.com/xtermjs/xterm.js/issues/4500)) via [@Tyriar](https://togithub.com/Tyriar)
- Disallow glyphs to exceed texture atlas size ([#4508](https://togithub.com/xtermjs/xterm.js/issues/4508)) via [@Tyriar](https://togithub.com/Tyriar)
- Don't apply dim to background color ([#4525](https://togithub.com/xtermjs/xterm.js/issues/4525)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix blacked out content ([#4533](https://togithub.com/xtermjs/xterm.js/issues/4533)) via [@Tyriar](https://togithub.com/Tyriar)
##### xterm-addon-search
- Improve search behavior when there are > 1000 results ([#4504](https://togithub.com/xtermjs/xterm.js/issues/4504)) via [@jeanp413](https://togithub.com/jeanp413)
##### xterm-addon-webgl
- Fix rendering of underline on wide characters ([#4352](https://togithub.com/xtermjs/xterm.js/issues/4352)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix loadCell exception ([#4403](https://togithub.com/xtermjs/xterm.js/issues/4403)) via [@meganrogge](https://togithub.com/meganrogge)
- Fix rendering of 0xE0BB and 0xE0BF powerline symbols ([#4451](https://togithub.com/xtermjs/xterm.js/issues/4451)) via [@Starwort](https://togithub.com/Starwort)
- Fix rendering of cursor leaving artifacts on Firefox ([#4500](https://togithub.com/xtermjs/xterm.js/issues/4500)) via [@Tyriar](https://togithub.com/Tyriar)
- Disallow glyphs to exceed texture atlas size ([#4508](https://togithub.com/xtermjs/xterm.js/issues/4508)) via [@Tyriar](https://togithub.com/Tyriar)
- Don't apply dim to background color ([#4525](https://togithub.com/xtermjs/xterm.js/issues/4525)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix blacked out content ([#4530](https://togithub.com/xtermjs/xterm.js/issues/4530)) via [@jerch](https://togithub.com/jerch)
#### 🤝 Compatible addon versions
- `xterm-addon-attach@...`
- `xterm-addon-fit@...`
- `xterm-addon-ligatures@...`
- `xterm-addon-search@...`
- `xterm-addon-serialize@...`
- `xterm-addon-unicode11@...`
- `xterm-addon-web-links@...`
- `xterm-addon-webgl@...`
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
5.1.0
->5.3.0
0.7.0
->0.8.0
0.6.0
->0.7.0
0.8.0
->0.9.0
0.14.0
->0.16.0
Release Notes
xtermjs/xterm.js (xterm)
### [`v5.3.0`](https://togithub.com/xtermjs/xterm.js/releases/tag/5.3.0) [Compare Source](https://togithub.com/xtermjs/xterm.js/compare/5.2.1...5.3.0) #### 🚀 Features - The default DOM-based renderer is significantly faster now ([#4605](https://togithub.com/xtermjs/xterm.js/issues/4605), [#4631](https://togithub.com/xtermjs/xterm.js/issues/4631), [#4651](https://togithub.com/xtermjs/xterm.js/issues/4651), [#4662](https://togithub.com/xtermjs/xterm.js/issues/4662), [#4681](https://togithub.com/xtermjs/xterm.js/issues/4681), [#4754](https://togithub.com/xtermjs/xterm.js/issues/4754)) via [@jerch](https://togithub.com/jerch), [@Tyriar](https://togithub.com/Tyriar), [@PerBothner](https://togithub.com/PerBothner), [@tisilent](https://togithub.com/tisilent) - The smooth scroll feature now affects `scrollLines`, `scrollPages`,`scrollToLine`, `scrollToTop` and `scrollToBottom` ([#4482](https://togithub.com/xtermjs/xterm.js/issues/4482), [#4714](https://togithub.com/xtermjs/xterm.js/issues/4714)) via [@tisilent](https://togithub.com/tisilent), [@Tyriar](https://togithub.com/Tyriar) - `minimumContrastRatio` now applies 50% of the contrast ratio to dimmed text ([#4672](https://togithub.com/xtermjs/xterm.js/issues/4672)) via [@Tyrira](https://togithub.com/Tyrira) ##### 📦 API - There's a new `trace` log level ([#4687](https://togithub.com/xtermjs/xterm.js/issues/4687), 4709) via [@Tyriar](https://togithub.com/Tyriar) ```ts const term = new Terminal({ logLevel: 'trace' }); ``` - New `logger` delegate option ([#4563](https://togithub.com/xtermjs/xterm.js/issues/4563), [#4564](https://togithub.com/xtermjs/xterm.js/issues/4564)) via [@Tyriar](https://togithub.com/Tyriar). This new API allows the embedder to define the logging behavior, instead of always using to `console` ```ts 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](https://togithub.com/xtermjs/xterm.js/issues/4636)) via [@Tyriar](https://togithub.com/Tyriar) ```ts const term = new Terminal({ ignoreBracketedPasteMode: true }); ``` - New `cursorInactiveStyle` option ([#4657](https://togithub.com/xtermjs/xterm.js/issues/4657)) via [@tisilent](https://togithub.com/tisilent) ```ts const term = new Terminal({ cursorInactiveStyle: 'none' }); ``` #### 🐞 Bug fixes - Fix character size being affected by CSS transformations ([#4366](https://togithub.com/xtermjs/xterm.js/issues/4366)) via [@arekouzounian](https://togithub.com/arekouzounian) - Fix mouse tracking behavior ([#4583](https://togithub.com/xtermjs/xterm.js/issues/4583)) via [@jerch](https://togithub.com/jerch) - Improve rendering of the DOM renderer's underline cursor ([#4584](https://togithub.com/xtermjs/xterm.js/issues/4584)) via [@dlech](https://togithub.com/dlech) - Fix issues in the accessibility tree ([#4637](https://togithub.com/xtermjs/xterm.js/issues/4637)) via [@meganrogge](https://togithub.com/meganrogge) - Fix reset and clear leaving viewport in a bad state ([#4638](https://togithub.com/xtermjs/xterm.js/issues/4638)) via [@Tyriar](https://togithub.com/Tyriar) - Fix API facade memory leaks ([#4655](https://togithub.com/xtermjs/xterm.js/issues/4655)) via [@Tyriar](https://togithub.com/Tyriar) - Fix memory leak in cursor blink state manager ([#4659](https://togithub.com/xtermjs/xterm.js/issues/4659)) via [@SvanT](https://togithub.com/SvanT) - Fix inverse rendering when a transparent foreground is used ([#4667](https://togithub.com/xtermjs/xterm.js/issues/4667)) via [@Dennnnny](https://togithub.com/Dennnnny) - Fix disposing of decorations ([#4671](https://togithub.com/xtermjs/xterm.js/issues/4671)) via [@Tyriar](https://togithub.com/Tyriar) - Render selection background consistently in the DOM renderer ([#4673](https://togithub.com/xtermjs/xterm.js/issues/4673)) via [@Tyriar](https://togithub.com/Tyriar) - Improve rendering of powerline circle line custom glyph ([#4729](https://togithub.com/xtermjs/xterm.js/issues/4729)) via [@tisilent](https://togithub.com/tisilent) - Improve texture atlas utilization and fix glyph corruption when merging ([#4732](https://togithub.com/xtermjs/xterm.js/issues/4732)) via [@Tyriar](https://togithub.com/Tyriar) #### 📝 Documentation and internal improvements - Improve safety of log service ([#4565](https://togithub.com/xtermjs/xterm.js/issues/4565)) via [@Tyriar](https://togithub.com/Tyriar) - Exploring use of `CSSStyleSheet` web API ([#4611](https://togithub.com/xtermjs/xterm.js/issues/4611), #[#4619](https://togithub.com/xtermjs/xterm.js/issues/4619), [#4678](https://togithub.com/xtermjs/xterm.js/issues/4678), [#4680](https://togithub.com/xtermjs/xterm.js/issues/4680)) via [@SimonSiefke](https://togithub.com/SimonSiefke), [@Tyriar](https://togithub.com/Tyriar) - Update TypeScript to 5.1.6 ([#4612](https://togithub.com/xtermjs/xterm.js/issues/4612)) via [@SimonSiefke](https://togithub.com/SimonSiefke) - Mention discussions in CONTRIBUTING.md ([#4617](https://togithub.com/xtermjs/xterm.js/issues/4617)) via [@Tyriar](https://togithub.com/Tyriar) - Improve type safety of ColorIndex ([#4618](https://togithub.com/xtermjs/xterm.js/issues/4618)) via [@Tyriar](https://togithub.com/Tyriar) - Fix demo light theme cursor colors ([#4626](https://togithub.com/xtermjs/xterm.js/issues/4626)) via [@Tyriar](https://togithub.com/Tyriar) - Add nvmrc using node 16 ([#4666](https://togithub.com/xtermjs/xterm.js/issues/4666)) via [@Tyriar](https://togithub.com/Tyriar) - Restrict comments to 100 characters ([#4668](https://togithub.com/xtermjs/xterm.js/issues/4668)) via [@Tyriar](https://togithub.com/Tyriar) - Lint API xterm.d.ts file ([#4669](https://togithub.com/xtermjs/xterm.js/issues/4669), [#4677](https://togithub.com/xtermjs/xterm.js/issues/4677)) via [@Tyriar](https://togithub.com/Tyriar) - General clean up ([#4676](https://togithub.com/xtermjs/xterm.js/issues/4676), [#4683](https://togithub.com/xtermjs/xterm.js/issues/4683), [#4688](https://togithub.com/xtermjs/xterm.js/issues/4688), [#4689](https://togithub.com/xtermjs/xterm.js/issues/4689), [#4733](https://togithub.com/xtermjs/xterm.js/issues/4733)) via [@Tyriar](https://togithub.com/Tyriar) - Reduce repetition with internal terminal types and inherit docs from API ([#4679](https://togithub.com/xtermjs/xterm.js/issues/4679)) via [@Tyriar](https://togithub.com/Tyriar) - Improve lifecycle of WebLinksAddon.api, test all country tlds ([#4691](https://togithub.com/xtermjs/xterm.js/issues/4691)) via [@Tyriar](https://togithub.com/Tyriar) - Stub out all CSI api tests ([#4692](https://togithub.com/xtermjs/xterm.js/issues/4692)) via [@Tyriar](https://togithub.com/Tyriar) - Migrate to GitHub Actions and speed up CI ([#4693](https://togithub.com/xtermjs/xterm.js/issues/4693), [#4697](https://togithub.com/xtermjs/xterm.js/issues/4697), [#4698](https://togithub.com/xtermjs/xterm.js/issues/4698), [#4699](https://togithub.com/xtermjs/xterm.js/issues/4699), [#4700](https://togithub.com/xtermjs/xterm.js/issues/4700), [#4710](https://togithub.com/xtermjs/xterm.js/issues/4710), [#4712](https://togithub.com/xtermjs/xterm.js/issues/4712), [#4715](https://togithub.com/xtermjs/xterm.js/issues/4715), [#4716](https://togithub.com/xtermjs/xterm.js/issues/4716), [#4734](https://togithub.com/xtermjs/xterm.js/issues/4734)) via [@Tyriar](https://togithub.com/Tyriar) - Fix spaces in bce demo ([#4694](https://togithub.com/xtermjs/xterm.js/issues/4694)) via [@jerch](https://togithub.com/jerch) - Add automatic resize to demo ([#4695](https://togithub.com/xtermjs/xterm.js/issues/4695)) via [@PerBothner](https://togithub.com/PerBothner) - Add no unused variables lint warning ([#4718](https://togithub.com/xtermjs/xterm.js/issues/4718)) via [@Tyriar](https://togithub.com/Tyriar) - Fix demo warnings ([#4721](https://togithub.com/xtermjs/xterm.js/issues/4721), [#4722](https://togithub.com/xtermjs/xterm.js/issues/4722)) via [@Tyriar](https://togithub.com/Tyriar) - Adopt `@ts-check` in JS files ([#4723](https://togithub.com/xtermjs/xterm.js/issues/4723), [#4724](https://togithub.com/xtermjs/xterm.js/issues/4724)) via [@Tyriar](https://togithub.com/Tyriar) - Warn on eslint rule `@typescript-eslint/no-useless-constructor` ([#4725](https://togithub.com/xtermjs/xterm.js/issues/4725)) via [@Tyriar](https://togithub.com/Tyriar) - Warn on eslint rule `@typescript-eslint/no-confusing-void-expression` ([#4726](https://togithub.com/xtermjs/xterm.js/issues/4726)) via [@Tyriar](https://togithub.com/Tyriar) - Start migration to `@playwright/test` as the integration test runner ([#4735](https://togithub.com/xtermjs/xterm.js/issues/4735)) via [@Tyriar](https://togithub.com/Tyriar) #### 🎉 New real-world use cases - cloudtutor.io ([#4570](https://togithub.com/xtermjs/xterm.js/issues/4570)) via [@naufalafif](https://togithub.com/naufalafif) - Helix Editor Playground ([#4585](https://togithub.com/xtermjs/xterm.js/issues/4585)) via [@tomgroenwoldt](https://togithub.com/tomgroenwoldt) - Coder ([#4595](https://togithub.com/xtermjs/xterm.js/issues/4595)) via [@matifali](https://togithub.com/matifali) *** #### 📥 Addons ##### xterm-addon-canvas - Add getRasterizedGlyph null and undefined check ([#4596](https://togithub.com/xtermjs/xterm.js/issues/4596)) via [@lewis-sanchez](https://togithub.com/lewis-sanchez) - Fix various underlines by rendering them upwards ([#4648](https://togithub.com/xtermjs/xterm.js/issues/4648), [#4664](https://togithub.com/xtermjs/xterm.js/issues/4664)) via [@tisilent](https://togithub.com/tisilent) ##### xterm-addon-image - The images addon has been merged into the main repository ([#4577](https://togithub.com/xtermjs/xterm.js/issues/4577), [#4727](https://togithub.com/xtermjs/xterm.js/issues/4727)) via [@jerch](https://togithub.com/jerch) ##### xterm-addon-ligatures - Enable the ligatures addon on Electron ([#4387](https://togithub.com/xtermjs/xterm.js/issues/4387)) via [@LabhanshAgrawal](https://togithub.com/LabhanshAgrawal) ##### xterm-addon-serialize - Fallback to default ANSIcolors when running xterm-headless ([#4348](https://togithub.com/xtermjs/xterm.js/issues/4348)) via [@silamon](https://togithub.com/silamon) ##### xterm-addon-webgl - Render the cursor in the WebGL canvas ([#4568](https://togithub.com/xtermjs/xterm.js/issues/4568)) via [@xzfc](https://togithub.com/xzfc) #### 🤝 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 ### [`v5.2.1`](https://togithub.com/xtermjs/xterm.js/releases/tag/5.2.1) [Compare Source](https://togithub.com/xtermjs/xterm.js/compare/5.2.0...5.2.1) #### 🐞 Bug fixes - Fix NPEs on buffer line and windowsPty option ([#4551](https://togithub.com/xtermjs/xterm.js/issues/4551)) via [@Tyriar](https://togithub.com/Tyriar) ### [`v5.2.0`](https://togithub.com/xtermjs/xterm.js/releases/tag/5.2.0) [Compare Source](https://togithub.com/xtermjs/xterm.js/compare/5.1.0...5.2.0) #### 🚀 Features - Support for the overline attribute SGR 53/55 ([#4526](https://togithub.com/xtermjs/xterm.js/issues/4526), [#4532](https://togithub.com/xtermjs/xterm.js/issues/4532)) via [@Tyriar](https://togithub.com/Tyriar) ##### 📦 API - Improved Windows workarounds with the new windowsPty option ([#4539](https://togithub.com/xtermjs/xterm.js/issues/4539)) via [@Tyriar](https://togithub.com/Tyriar) ```ts const term = new Terminal({ windowsPty: { backend: 'conpty', buildNumber: 19000 } }); ``` #### 🐞 Bug fixes - Fix performance issue related to hovering links ([#4341](https://togithub.com/xtermjs/xterm.js/issues/4341)) via [@Tyriar](https://togithub.com/Tyriar) - Fix exception by validating rows are correct when rendering ([#4346](https://togithub.com/xtermjs/xterm.js/issues/4346)) via [@Tyriar](https://togithub.com/Tyriar) - Improve rendering of dotted underline ([#4350](https://togithub.com/xtermjs/xterm.js/issues/4350)) via [@Tyriar](https://togithub.com/Tyriar) - Invalidate links after resizing ([#4358](https://togithub.com/xtermjs/xterm.js/issues/4358)) via [@Tyriar](https://togithub.com/Tyriar) - Fix texture atlas exception thrown when changing options ([#4390](https://togithub.com/xtermjs/xterm.js/issues/4390)) via [@Tyriar](https://togithub.com/Tyriar) - Show hollow cursor when unfocused, regardless of cursor type ([#4443](https://togithub.com/xtermjs/xterm.js/issues/4443)) via [@tisilent](https://togithub.com/tisilent) - Fix out of sync link underlines after resizing on Windows ([#4458](https://togithub.com/xtermjs/xterm.js/issues/4458)) via [@Tyriar](https://togithub.com/Tyriar) - Fix a lifecycle issue with decorations ([#4465](https://togithub.com/xtermjs/xterm.js/issues/4465)) via [@Tyriar](https://togithub.com/Tyriar) - Rerender in the DOM renderer after options change ([#4475](https://togithub.com/xtermjs/xterm.js/issues/4475)) via [@kelvinhammond](https://togithub.com/kelvinhammond) - Fix DECRQM reports and add DECBKM ([#4478](https://togithub.com/xtermjs/xterm.js/issues/4478)) via [@jerch](https://togithub.com/jerch) - Fix links not working when using a screen reader ([#4491](https://togithub.com/xtermjs/xterm.js/issues/4491)) via [@jerch](https://togithub.com/jerch) - Ensure decorations in the top layer render on top of decorations in the bottom layer ([#4516](https://togithub.com/xtermjs/xterm.js/issues/4516)) via [@jeanp413](https://togithub.com/jeanp413) - Avoid triggering a reflow while rendering search decorations ([#4521](https://togithub.com/xtermjs/xterm.js/issues/4521)) via [@jeanp413](https://togithub.com/jeanp413) - Don't apply dim to background color ([#4525](https://togithub.com/xtermjs/xterm.js/issues/4525)) via [@Tyriar](https://togithub.com/Tyriar) - Fix exception and performance issue when rendering link underlines ([#4546](https://togithub.com/xtermjs/xterm.js/issues/4546)) via [@jerch](https://togithub.com/jerch) #### 📝 Documentation and internal improvements - Remove unused buffer code ([#4335](https://togithub.com/xtermjs/xterm.js/issues/4335)) via [@jerch](https://togithub.com/jerch) - Explore a different accessibility view ([#4340](https://togithub.com/xtermjs/xterm.js/issues/4340), [#4375](https://togithub.com/xtermjs/xterm.js/issues/4375), [#4376](https://togithub.com/xtermjs/xterm.js/issues/4376), [#4377](https://togithub.com/xtermjs/xterm.js/issues/4377), [#4381](https://togithub.com/xtermjs/xterm.js/issues/4381), [#4382](https://togithub.com/xtermjs/xterm.js/issues/4382), [#4383](https://togithub.com/xtermjs/xterm.js/issues/4383), [#4389](https://togithub.com/xtermjs/xterm.js/issues/4389), [#4395](https://togithub.com/xtermjs/xterm.js/issues/4395), [#4398](https://togithub.com/xtermjs/xterm.js/issues/4398), [#4400](https://togithub.com/xtermjs/xterm.js/issues/4400), [#4402](https://togithub.com/xtermjs/xterm.js/issues/4402), [#4406](https://togithub.com/xtermjs/xterm.js/issues/4406), [#4413](https://togithub.com/xtermjs/xterm.js/issues/4413), [#4427](https://togithub.com/xtermjs/xterm.js/issues/4427), [#4536](https://togithub.com/xtermjs/xterm.js/issues/4536)) via [@meganrogge](https://togithub.com/meganrogge), [@Tyriar](https://togithub.com/Tyriar) - Update CI containers to Ubuntu 20.04 ([#4347](https://togithub.com/xtermjs/xterm.js/issues/4347)) via [@silamon](https://togithub.com/silamon) - Update CI containers to use Node 18 ([#4542](https://togithub.com/xtermjs/xterm.js/issues/4542)) via [@silamon](https://togithub.com/silamon) 4542 - Remove unused imports ([#4361](https://togithub.com/xtermjs/xterm.js/issues/4361)) via [@Eugeny](https://togithub.com/Eugeny) - Replace dom helper with HTMLElement.remove() ([#4364](https://togithub.com/xtermjs/xterm.js/issues/4364)) via [@Tyriar](https://togithub.com/Tyriar) - Show proper parameter hints when calling createInstance ([#4393](https://togithub.com/xtermjs/xterm.js/issues/4393)) via [@Tyriar](https://togithub.com/Tyriar) - Correct registerMarker API docs ([#4464](https://togithub.com/xtermjs/xterm.js/issues/4464)) via [@Tyriar](https://togithub.com/Tyriar) - Add FAQ to new issue report ([#4512](https://togithub.com/xtermjs/xterm.js/issues/4512)) via [@Tyriar](https://togithub.com/Tyriar) - Fix buffer corruption for utf8 transport in demo ([#4527](https://togithub.com/xtermjs/xterm.js/issues/4527)) via [@jerch](https://togithub.com/jerch) #### ⚠️ Deprecations - `windowsMode` has been deprecated in favor of `windowsPty` ```ts // Before 5.2 term = new Terminal({ windowsMode: true }); // After 5.2 term = new Terminal({ windowsPty: { backend: 'conpty', buildNumber: 19000 } }); ``` #### 🎉 New real-world use cases - graSSHopper ([#4356](https://togithub.com/xtermjs/xterm.js/issues/4356)) via [@Coding-Kiwi](https://togithub.com/Coding-Kiwi) - DomTerm ([#4456](https://togithub.com/xtermjs/xterm.js/issues/4456)) via [@Tyriar](https://togithub.com/Tyriar) *** #### 📥 Addons ##### xterm-addon-canvas - Fix rendering of underline on wide characters ([#4352](https://togithub.com/xtermjs/xterm.js/issues/4352)) via [@Tyriar](https://togithub.com/Tyriar) - Update selection properly after changing themes ([#4353](https://togithub.com/xtermjs/xterm.js/issues/4353)) via [@Tyriar](https://togithub.com/Tyriar) - Update selection properly after a resize ([#4355](https://togithub.com/xtermjs/xterm.js/issues/4355)) via [@Tyriar](https://togithub.com/Tyriar) - Correct cell background color after clearing formatting ([#4438](https://togithub.com/xtermjs/xterm.js/issues/4438)) via [@jerch](https://togithub.com/jerch) - Fix rendering of 0xE0BB and 0xE0BF powerline symbols ([#4451](https://togithub.com/xtermjs/xterm.js/issues/4451)) via [@Starwort](https://togithub.com/Starwort) - Fix rendering of cursor leaving artifacts on Firefox ([#4500](https://togithub.com/xtermjs/xterm.js/issues/4500)) via [@Tyriar](https://togithub.com/Tyriar) - Disallow glyphs to exceed texture atlas size ([#4508](https://togithub.com/xtermjs/xterm.js/issues/4508)) via [@Tyriar](https://togithub.com/Tyriar) - Don't apply dim to background color ([#4525](https://togithub.com/xtermjs/xterm.js/issues/4525)) via [@Tyriar](https://togithub.com/Tyriar) - Fix blacked out content ([#4533](https://togithub.com/xtermjs/xterm.js/issues/4533)) via [@Tyriar](https://togithub.com/Tyriar) ##### xterm-addon-search - Improve search behavior when there are > 1000 results ([#4504](https://togithub.com/xtermjs/xterm.js/issues/4504)) via [@jeanp413](https://togithub.com/jeanp413) ##### xterm-addon-webgl - Fix rendering of underline on wide characters ([#4352](https://togithub.com/xtermjs/xterm.js/issues/4352)) via [@Tyriar](https://togithub.com/Tyriar) - Fix loadCell exception ([#4403](https://togithub.com/xtermjs/xterm.js/issues/4403)) via [@meganrogge](https://togithub.com/meganrogge) - Fix rendering of 0xE0BB and 0xE0BF powerline symbols ([#4451](https://togithub.com/xtermjs/xterm.js/issues/4451)) via [@Starwort](https://togithub.com/Starwort) - Fix rendering of cursor leaving artifacts on Firefox ([#4500](https://togithub.com/xtermjs/xterm.js/issues/4500)) via [@Tyriar](https://togithub.com/Tyriar) - Disallow glyphs to exceed texture atlas size ([#4508](https://togithub.com/xtermjs/xterm.js/issues/4508)) via [@Tyriar](https://togithub.com/Tyriar) - Don't apply dim to background color ([#4525](https://togithub.com/xtermjs/xterm.js/issues/4525)) via [@Tyriar](https://togithub.com/Tyriar) - Fix blacked out content ([#4530](https://togithub.com/xtermjs/xterm.js/issues/4530)) via [@jerch](https://togithub.com/jerch) #### 🤝 Compatible addon versions - `xterm-addon-attach@...` - `xterm-addon-fit@...` - `xterm-addon-ligatures@...` - `xterm-addon-search@...` - `xterm-addon-serialize@...` - `xterm-addon-unicode11@...` - `xterm-addon-web-links@...` - `xterm-addon-webgl@...`Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.