xtermjs/xterm.js
### [`v4.19.0`](https://togithub.com/xtermjs/xterm.js/releases/tag/4.19.0)
[Compare Source](https://togithub.com/xtermjs/xterm.js/compare/4.18.0...4.19.0)
#### 🚀 Features
- The minimum contrast ratio feature will now change luminance in the opposite direction if the contrast ratio isn't met ([#3806](https://togithub.com/xtermjs/xterm.js/issues/3806), [#3808](https://togithub.com/xtermjs/xterm.js/issues/3808)) via [@Tyriar](https://togithub.com/Tyriar). For example a red foreground on a slightly darker red background will try lighten the color and if the `minimumContrastRatio` option isn't met when `#FFFFFF` is reached it will try moving it towards `#000000`. This can cause somewhat unexpected results by changing explicitly styled whites to blacks for example but it's really good for accessibility.
- The library now supports parsing `#rgb`, `#rgba`, `rgb(r, g, b)` and `rgba(r, g, b, a)` color formats ([#3815](https://togithub.com/xtermjs/xterm.js/issues/3815), [#3819](https://togithub.com/xtermjs/xterm.js/issues/3819), [#3823](https://togithub.com/xtermjs/xterm.js/issues/3823)) via [@ChaseKnowlden](https://togithub.com/ChaseKnowlden), [@Tyriar](https://togithub.com/Tyriar)
- Opaque `selectionBackground` is now supported in the DOM renderer ([#3839](https://togithub.com/xtermjs/xterm.js/issues/3839)) via [@Tyriar](https://togithub.com/Tyriar)
- The symbol powerline font glyphs now use custom rendering when `ITerminalOptions.customGlyphs` is enabled ([#3856](https://togithub.com/xtermjs/xterm.js/issues/3856), [#3862](https://togithub.com/xtermjs/xterm.js/issues/3862), [#3866](https://togithub.com/xtermjs/xterm.js/issues/3866)) via [@Tyriar](https://togithub.com/Tyriar)
![image](https://user-images.githubusercontent.com/2193314/176488133-c1dbf348-d43d-4985-9f3f-9413565139c4.png)
This has multiple benefits:
- A patched powerlines font doesn't need to be installed to render the most common characters
- Ugly lines due to anti-aliasing that can appear no longer do
- The glyphs always use greyscale anti-aliasing (not sub-pixel)
- `ITerminalOptions.lineHeight` is taken into account when rendering the glyph
##### 📦 API
- The overview ruler is a companion feature to the decorations introduced in 4.18.0 which shows little indicators on the scroll bar ([#3676](https://togithub.com/xtermjs/xterm.js/issues/3676), [#3687](https://togithub.com/xtermjs/xterm.js/issues/3687), [#3688](https://togithub.com/xtermjs/xterm.js/issues/3688), [#3689](https://togithub.com/xtermjs/xterm.js/issues/3689), [#3693](https://togithub.com/xtermjs/xterm.js/issues/3693), [#3694](https://togithub.com/xtermjs/xterm.js/issues/3694), [#3695](https://togithub.com/xtermjs/xterm.js/issues/3695), [#3697](https://togithub.com/xtermjs/xterm.js/issues/3697), [#3702](https://togithub.com/xtermjs/xterm.js/issues/3702), [#3711](https://togithub.com/xtermjs/xterm.js/issues/3711), [#3723](https://togithub.com/xtermjs/xterm.js/issues/3723), [#3730](https://togithub.com/xtermjs/xterm.js/issues/3730), [#3733](https://togithub.com/xtermjs/xterm.js/issues/3733), [#3738](https://togithub.com/xtermjs/xterm.js/issues/3738), [#3788](https://togithub.com/xtermjs/xterm.js/issues/3788), [#3791](https://togithub.com/xtermjs/xterm.js/issues/3791), [#3792](https://togithub.com/xtermjs/xterm.js/issues/3792), [#3841](https://togithub.com/xtermjs/xterm.js/issues/3841)) via [@meganrogge](https://togithub.com/meganrogge), [@Tyriar](https://togithub.com/Tyriar). To use it, add the `overviewRulerOptions` property to a decoration's `IDecorationOptions` and it will automatically show up in the overview ruler.
```ts
const marker = term.addMarker(1);
const decoration = term.registerDecoration({
marker,
x: 5,
overviewRulerOptions: {
color: '#FF0000',
position: 'left'
}
});
decoration.onRender(() => {
decoration.element.style.backgroundColor = 'red';
});
```
The width of the resulting overview ruler is controlled by `ITerminalOptions.overviewRulerWidth`.
- Decorations can now change a cell's background and foreground colors ([#3775](https://togithub.com/xtermjs/xterm.js/issues/3775), [#3782](https://togithub.com/xtermjs/xterm.js/issues/3782)) via [@Tyriar](https://togithub.com/Tyriar). When this is set, the minimum contrast ratio feature will also be in effect.
```ts
const decoration = term.registerDecoration({
marker,
backgroundColor: '#ff0000',
foregroundColor: '#ffffff'
});
```
- Decorations can now specify the layer property to allow rendering above the selection ([#3785](https://togithub.com/xtermjs/xterm.js/issues/3785), [#3800](https://togithub.com/xtermjs/xterm.js/issues/3800)) via [@Tyriar](https://togithub.com/Tyriar)
```ts
const decoration = term.registerDecoration({
marker,
layer: 'top'
});
```
- There's a new `selectionForeground` theme color, when set this will use a static color for selections ([#3813](https://togithub.com/xtermjs/xterm.js/issues/3813)) via [@Tyriar](https://togithub.com/Tyriar)
```ts
const term = new Terminal({
theme: {
selectionBackground: '#000000',
selectionForeground: '#FFFFFF'
}
});
```
#### 🐞 Bug fixes
- Fix triple click selection edge case where initial line was getting unselected ([#3669](https://togithub.com/xtermjs/xterm.js/issues/3669)) via [@silamon](https://togithub.com/silamon)
- Fixing edge cases when clearing decorations via `Terminal.clear` ([#3671](https://togithub.com/xtermjs/xterm.js/issues/3671), [#3868](https://togithub.com/xtermjs/xterm.js/issues/3868)) via [@meganrogge](https://togithub.com/meganrogge)
- Handle missing compositionend events for Sogou IME ([#3680](https://togithub.com/xtermjs/xterm.js/issues/3680)) via [@Eugeny](https://togithub.com/Eugeny)
- Fix a bug when running emacs by preferring ST over BEL ([#3704](https://togithub.com/xtermjs/xterm.js/issues/3704)) via [@meganrogge](https://togithub.com/meganrogge)
- Fix Alt-N/E/U handling in macOS, handle Alt-Shift-Letter ([#3726](https://togithub.com/xtermjs/xterm.js/issues/3726)) via [@Eugeny](https://togithub.com/Eugeny)
- Fix caps lock while IMEs are being used preventing lowercase input ([#3728](https://togithub.com/xtermjs/xterm.js/issues/3728)) via [@serkodev](https://togithub.com/serkodev)
- Exclude powerline characters from the minimum contrast ratio feature ([#3740](https://togithub.com/xtermjs/xterm.js/issues/3740), [#3742](https://togithub.com/xtermjs/xterm.js/issues/3742)) via [@meganrogge](https://togithub.com/meganrogge)
- Send ctrl modifier for page up/down sequences ([#3761](https://togithub.com/xtermjs/xterm.js/issues/3761)) via [@Tyriar](https://togithub.com/Tyriar)
- Send record separator on ctrl+@ ([#3763](https://togithub.com/xtermjs/xterm.js/issues/3763)) via [@robinfai](https://togithub.com/robinfai)
- Switching from webgl to dom renderer will now correctly reposition decorations ([#3779](https://togithub.com/xtermjs/xterm.js/issues/3779)) via [@Tyriar](https://togithub.com/Tyriar)
- Decorations are now rendered in the same frame as the buffer, ensuring they stay in sync ([#3796](https://togithub.com/xtermjs/xterm.js/issues/3796), [#3818](https://togithub.com/xtermjs/xterm.js/issues/3818)) via [@meganrogge](https://togithub.com/meganrogge)
- Fire `onSelectionChange` when `Terminal.select` is called ([#3805](https://togithub.com/xtermjs/xterm.js/issues/3805)) via [@Tyriar](https://togithub.com/Tyriar)
- Padding is now taken into account when converting mouse coordinates to cell positions ([#3826](https://togithub.com/xtermjs/xterm.js/issues/3826)) via [@Tyriar](https://togithub.com/Tyriar)
- Exclude box drawing and block glyphs from the minimum contrast ratio as they are typically used to blend with background colors ([#3844](https://togithub.com/xtermjs/xterm.js/issues/3844)) via [@meganrogge](https://togithub.com/meganrogge)
- Fix a minimum contrast ratio edge case with inverted text in the DOM renderer ([#3846](https://togithub.com/xtermjs/xterm.js/issues/3846)) via [@meganrogge](https://togithub.com/meganrogge)
- Only send the wheel mouse event when scrolling a line or more ([#3869](https://togithub.com/xtermjs/xterm.js/issues/3869)) via [@pfitzseb](https://togithub.com/pfitzseb)
#### 📝 Documentation and internal improvements
- Replace internal use of `getOption`/`setOption` with `options` ([#3667](https://togithub.com/xtermjs/xterm.js/issues/3667)) via [@childrentime](https://togithub.com/childrentime)
- Lint code using putout ([#3674](https://togithub.com/xtermjs/xterm.js/issues/3674)) via [@coderaiser](https://togithub.com/coderaiser)
- Improve the way the scroll bar is hidden when `scrollback` is `0` ([#3678](https://togithub.com/xtermjs/xterm.js/issues/3678)) via [@silamon](https://togithub.com/silamon)
- Remove unwanted console.log ([#3685](https://togithub.com/xtermjs/xterm.js/issues/3685)) via [@Tyriar](https://togithub.com/Tyriar)
- Replace deprecated String.prototype.substr ([#3713](https://togithub.com/xtermjs/xterm.js/issues/3713)) via [@CommanderRoot](https://togithub.com/CommanderRoot)
- Dependency updates ([#3714](https://togithub.com/xtermjs/xterm.js/issues/3714), [#3715](https://togithub.com/xtermjs/xterm.js/issues/3715)) via [@dependabot](https://togithub.com/dependabot)
- Consolidate powerline glyph detection ([#3743](https://togithub.com/xtermjs/xterm.js/issues/3743), [#3756](https://togithub.com/xtermjs/xterm.js/issues/3756)) via [@meganrogge](https://togithub.com/meganrogge)
- Speed up decoration rendering ([#3769](https://togithub.com/xtermjs/xterm.js/issues/3769)) via [@Tyriar](https://togithub.com/Tyriar)
- Enable the search highlight all matches feature in the demo by default ([#3786](https://togithub.com/xtermjs/xterm.js/issues/3786)) via [@Tyriar](https://togithub.com/Tyriar)
- Simplify CSS rules ([#3787](https://togithub.com/xtermjs/xterm.js/issues/3787)) via [@Tyriar](https://togithub.com/Tyriar)
- Add a warning in the demo's implementation calling out the importance of flow control ([#3789](https://togithub.com/xtermjs/xterm.js/issues/3789)) via [@Tyriar](https://togithub.com/Tyriar)
- Deflake link provider tests ([#3822](https://togithub.com/xtermjs/xterm.js/issues/3822)) via [@Tyriar](https://togithub.com/Tyriar)
- Standardize internal handling of colors for simplicity ([#3824](https://togithub.com/xtermjs/xterm.js/issues/3824)) via [@Tyriar](https://togithub.com/Tyriar)
- Add convenient powerline symbol test button to demo ([#3828](https://togithub.com/xtermjs/xterm.js/issues/3828)) via [@Tyriar](https://togithub.com/Tyriar)
- Organize demo test buttons ([#3852](https://togithub.com/xtermjs/xterm.js/issues/3852)) via [@umaxyon](https://togithub.com/umaxyon)
- Re-enable webgl minimum contrast ratio tests ([#3863](https://togithub.com/xtermjs/xterm.js/issues/3863)) via [@Tyriar](https://togithub.com/Tyriar)
- Fix a typo in serialize addon test ([#3865](https://togithub.com/xtermjs/xterm.js/issues/3865)) via [@mmis1000](https://togithub.com/mmis1000)
#### 🎉 New real-world use cases
- hack.courses ([#3837](https://togithub.com/xtermjs/xterm.js/issues/3837)) via [@lp1dev](https://togithub.com/lp1dev)
- Render ([#3871](https://togithub.com/xtermjs/xterm.js/issues/3871)) via [@crcastle](https://togithub.com/crcastle)
- CloudTTY ([#3876](https://togithub.com/xtermjs/xterm.js/issues/3876)) via yankay
***
#### 📥 Addons
##### xterm-addon-search
- Support showing all find matches by leveraging decorations ([#3698](https://togithub.com/xtermjs/xterm.js/issues/3698), [#3707](https://togithub.com/xtermjs/xterm.js/issues/3707), [#3708](https://togithub.com/xtermjs/xterm.js/issues/3708), [#3709](https://togithub.com/xtermjs/xterm.js/issues/3709), [#3710](https://togithub.com/xtermjs/xterm.js/issues/3710), [#3736](https://togithub.com/xtermjs/xterm.js/issues/3736), [#3750](https://togithub.com/xtermjs/xterm.js/issues/3750), [#3757](https://togithub.com/xtermjs/xterm.js/issues/3757), [#3767](https://togithub.com/xtermjs/xterm.js/issues/3767), [#3768](https://togithub.com/xtermjs/xterm.js/issues/3768), [#3811](https://togithub.com/xtermjs/xterm.js/issues/3811), [#3835](https://togithub.com/xtermjs/xterm.js/issues/3835)) via [@meganrogge](https://togithub.com/meganrogge), [@Tyriar](https://togithub.com/Tyriar)
- Return the number of results when searching ([#3716](https://togithub.com/xtermjs/xterm.js/issues/3716), [#3731](https://togithub.com/xtermjs/xterm.js/issues/3731), [#3745](https://togithub.com/xtermjs/xterm.js/issues/3745), [#3752](https://togithub.com/xtermjs/xterm.js/issues/3752), [#3793](https://togithub.com/xtermjs/xterm.js/issues/3793), [#3831](https://togithub.com/xtermjs/xterm.js/issues/3831), [#3874](https://togithub.com/xtermjs/xterm.js/issues/3874)) via [@meganrogge](https://togithub.com/meganrogge)
- Allow external styling of the active result decoration via `.xterm-find-active-result-decoration` ([#3802](https://togithub.com/xtermjs/xterm.js/issues/3802)) via [@Tyriar](https://togithub.com/Tyriar)
##### xterm-addon-serialize
- Restore cursor style during serialize ([#3682](https://togithub.com/xtermjs/xterm.js/issues/3682)) via [@Tyriar](https://togithub.com/Tyriar)
##### xterm-addon-web-links
- Expose `urlRegex` in public API ([#3719](https://togithub.com/xtermjs/xterm.js/issues/3719)) via [@LuckyGeck](https://togithub.com/LuckyGeck)
- Handle wrapped lines properly ([#3718](https://togithub.com/xtermjs/xterm.js/issues/3718)) via [@LuckyGeck](https://togithub.com/LuckyGeck)
##### xterm-addon-webgl
- Simplified and sped up selection rendering by leveraging the decorations feature ([#3782](https://togithub.com/xtermjs/xterm.js/issues/3782), [#3860](https://togithub.com/xtermjs/xterm.js/issues/3860)) via [@Tyriar](https://togithub.com/Tyriar)
#### 🤝 Compatible addon versions
- `xterm-addon-attach@0.6.0`
- `xterm-addon-fit@0.5.0`
- `xterm-addon-ligatures@0.5.3`
- `xterm-addon-search@0.9.0`
- `xterm-addon-serialize@0.7.0`
- `xterm-addon-unicode11@0.3.0`
- `xterm-addon-web-links@0.6.0`
- `xterm-addon-webgl@0.12.0`
***
#### 🌐 Website
- Add decorations to the demo (https://github.com/xtermjs/xtermjs.org/pull/170) via [@meganrogge](https://togithub.com/meganrogge)
- Fix a typo in hooks guide (https://github.com/xtermjs/xtermjs.org/pull/171) via [@fixator10](https://togithub.com/fixator10)
- Fix handling of `}`, `|` and `~` in the demo (https://github.com/xtermjs/xtermjs.org/pull/175) via [@MOBUMIN](https://togithub.com/MOBUMIN)
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, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
4.18.0
->4.19.0
0.5.1
->0.6.0
0.11.4
->0.12.0
Release Notes
xtermjs/xterm.js
### [`v4.19.0`](https://togithub.com/xtermjs/xterm.js/releases/tag/4.19.0) [Compare Source](https://togithub.com/xtermjs/xterm.js/compare/4.18.0...4.19.0) #### 🚀 Features - The minimum contrast ratio feature will now change luminance in the opposite direction if the contrast ratio isn't met ([#3806](https://togithub.com/xtermjs/xterm.js/issues/3806), [#3808](https://togithub.com/xtermjs/xterm.js/issues/3808)) via [@Tyriar](https://togithub.com/Tyriar). For example a red foreground on a slightly darker red background will try lighten the color and if the `minimumContrastRatio` option isn't met when `#FFFFFF` is reached it will try moving it towards `#000000`. This can cause somewhat unexpected results by changing explicitly styled whites to blacks for example but it's really good for accessibility. - The library now supports parsing `#rgb`, `#rgba`, `rgb(r, g, b)` and `rgba(r, g, b, a)` color formats ([#3815](https://togithub.com/xtermjs/xterm.js/issues/3815), [#3819](https://togithub.com/xtermjs/xterm.js/issues/3819), [#3823](https://togithub.com/xtermjs/xterm.js/issues/3823)) via [@ChaseKnowlden](https://togithub.com/ChaseKnowlden), [@Tyriar](https://togithub.com/Tyriar) - Opaque `selectionBackground` is now supported in the DOM renderer ([#3839](https://togithub.com/xtermjs/xterm.js/issues/3839)) via [@Tyriar](https://togithub.com/Tyriar) - The symbol powerline font glyphs now use custom rendering when `ITerminalOptions.customGlyphs` is enabled ([#3856](https://togithub.com/xtermjs/xterm.js/issues/3856), [#3862](https://togithub.com/xtermjs/xterm.js/issues/3862), [#3866](https://togithub.com/xtermjs/xterm.js/issues/3866)) via [@Tyriar](https://togithub.com/Tyriar) ![image](https://user-images.githubusercontent.com/2193314/176488133-c1dbf348-d43d-4985-9f3f-9413565139c4.png) This has multiple benefits: - A patched powerlines font doesn't need to be installed to render the most common characters - Ugly lines due to anti-aliasing that can appear no longer do - The glyphs always use greyscale anti-aliasing (not sub-pixel) - `ITerminalOptions.lineHeight` is taken into account when rendering the glyph ##### 📦 API - The overview ruler is a companion feature to the decorations introduced in 4.18.0 which shows little indicators on the scroll bar ([#3676](https://togithub.com/xtermjs/xterm.js/issues/3676), [#3687](https://togithub.com/xtermjs/xterm.js/issues/3687), [#3688](https://togithub.com/xtermjs/xterm.js/issues/3688), [#3689](https://togithub.com/xtermjs/xterm.js/issues/3689), [#3693](https://togithub.com/xtermjs/xterm.js/issues/3693), [#3694](https://togithub.com/xtermjs/xterm.js/issues/3694), [#3695](https://togithub.com/xtermjs/xterm.js/issues/3695), [#3697](https://togithub.com/xtermjs/xterm.js/issues/3697), [#3702](https://togithub.com/xtermjs/xterm.js/issues/3702), [#3711](https://togithub.com/xtermjs/xterm.js/issues/3711), [#3723](https://togithub.com/xtermjs/xterm.js/issues/3723), [#3730](https://togithub.com/xtermjs/xterm.js/issues/3730), [#3733](https://togithub.com/xtermjs/xterm.js/issues/3733), [#3738](https://togithub.com/xtermjs/xterm.js/issues/3738), [#3788](https://togithub.com/xtermjs/xterm.js/issues/3788), [#3791](https://togithub.com/xtermjs/xterm.js/issues/3791), [#3792](https://togithub.com/xtermjs/xterm.js/issues/3792), [#3841](https://togithub.com/xtermjs/xterm.js/issues/3841)) via [@meganrogge](https://togithub.com/meganrogge), [@Tyriar](https://togithub.com/Tyriar). To use it, add the `overviewRulerOptions` property to a decoration's `IDecorationOptions` and it will automatically show up in the overview ruler. ```ts const marker = term.addMarker(1); const decoration = term.registerDecoration({ marker, x: 5, overviewRulerOptions: { color: '#FF0000', position: 'left' } }); decoration.onRender(() => { decoration.element.style.backgroundColor = 'red'; }); ``` The width of the resulting overview ruler is controlled by `ITerminalOptions.overviewRulerWidth`. - Decorations can now change a cell's background and foreground colors ([#3775](https://togithub.com/xtermjs/xterm.js/issues/3775), [#3782](https://togithub.com/xtermjs/xterm.js/issues/3782)) via [@Tyriar](https://togithub.com/Tyriar). When this is set, the minimum contrast ratio feature will also be in effect. ```ts const decoration = term.registerDecoration({ marker, backgroundColor: '#ff0000', foregroundColor: '#ffffff' }); ``` - Decorations can now specify the layer property to allow rendering above the selection ([#3785](https://togithub.com/xtermjs/xterm.js/issues/3785), [#3800](https://togithub.com/xtermjs/xterm.js/issues/3800)) via [@Tyriar](https://togithub.com/Tyriar) ```ts const decoration = term.registerDecoration({ marker, layer: 'top' }); ``` - There's a new `selectionForeground` theme color, when set this will use a static color for selections ([#3813](https://togithub.com/xtermjs/xterm.js/issues/3813)) via [@Tyriar](https://togithub.com/Tyriar) ```ts const term = new Terminal({ theme: { selectionBackground: '#000000', selectionForeground: '#FFFFFF' } }); ``` #### 🐞 Bug fixes - Fix triple click selection edge case where initial line was getting unselected ([#3669](https://togithub.com/xtermjs/xterm.js/issues/3669)) via [@silamon](https://togithub.com/silamon) - Fixing edge cases when clearing decorations via `Terminal.clear` ([#3671](https://togithub.com/xtermjs/xterm.js/issues/3671), [#3868](https://togithub.com/xtermjs/xterm.js/issues/3868)) via [@meganrogge](https://togithub.com/meganrogge) - Handle missing compositionend events for Sogou IME ([#3680](https://togithub.com/xtermjs/xterm.js/issues/3680)) via [@Eugeny](https://togithub.com/Eugeny) - Fix a bug when running emacs by preferring ST over BEL ([#3704](https://togithub.com/xtermjs/xterm.js/issues/3704)) via [@meganrogge](https://togithub.com/meganrogge) - Fix Alt-N/E/U handling in macOS, handle Alt-Shift-Letter ([#3726](https://togithub.com/xtermjs/xterm.js/issues/3726)) via [@Eugeny](https://togithub.com/Eugeny) - Fix caps lock while IMEs are being used preventing lowercase input ([#3728](https://togithub.com/xtermjs/xterm.js/issues/3728)) via [@serkodev](https://togithub.com/serkodev) - Exclude powerline characters from the minimum contrast ratio feature ([#3740](https://togithub.com/xtermjs/xterm.js/issues/3740), [#3742](https://togithub.com/xtermjs/xterm.js/issues/3742)) via [@meganrogge](https://togithub.com/meganrogge) - Send ctrl modifier for page up/down sequences ([#3761](https://togithub.com/xtermjs/xterm.js/issues/3761)) via [@Tyriar](https://togithub.com/Tyriar) - Send record separator on ctrl+@ ([#3763](https://togithub.com/xtermjs/xterm.js/issues/3763)) via [@robinfai](https://togithub.com/robinfai) - Switching from webgl to dom renderer will now correctly reposition decorations ([#3779](https://togithub.com/xtermjs/xterm.js/issues/3779)) via [@Tyriar](https://togithub.com/Tyriar) - Decorations are now rendered in the same frame as the buffer, ensuring they stay in sync ([#3796](https://togithub.com/xtermjs/xterm.js/issues/3796), [#3818](https://togithub.com/xtermjs/xterm.js/issues/3818)) via [@meganrogge](https://togithub.com/meganrogge) - Fire `onSelectionChange` when `Terminal.select` is called ([#3805](https://togithub.com/xtermjs/xterm.js/issues/3805)) via [@Tyriar](https://togithub.com/Tyriar) - Padding is now taken into account when converting mouse coordinates to cell positions ([#3826](https://togithub.com/xtermjs/xterm.js/issues/3826)) via [@Tyriar](https://togithub.com/Tyriar) - Exclude box drawing and block glyphs from the minimum contrast ratio as they are typically used to blend with background colors ([#3844](https://togithub.com/xtermjs/xterm.js/issues/3844)) via [@meganrogge](https://togithub.com/meganrogge) - Fix a minimum contrast ratio edge case with inverted text in the DOM renderer ([#3846](https://togithub.com/xtermjs/xterm.js/issues/3846)) via [@meganrogge](https://togithub.com/meganrogge) - Only send the wheel mouse event when scrolling a line or more ([#3869](https://togithub.com/xtermjs/xterm.js/issues/3869)) via [@pfitzseb](https://togithub.com/pfitzseb) #### 📝 Documentation and internal improvements - Replace internal use of `getOption`/`setOption` with `options` ([#3667](https://togithub.com/xtermjs/xterm.js/issues/3667)) via [@childrentime](https://togithub.com/childrentime) - Lint code using putout ([#3674](https://togithub.com/xtermjs/xterm.js/issues/3674)) via [@coderaiser](https://togithub.com/coderaiser) - Improve the way the scroll bar is hidden when `scrollback` is `0` ([#3678](https://togithub.com/xtermjs/xterm.js/issues/3678)) via [@silamon](https://togithub.com/silamon) - Remove unwanted console.log ([#3685](https://togithub.com/xtermjs/xterm.js/issues/3685)) via [@Tyriar](https://togithub.com/Tyriar) - Replace deprecated String.prototype.substr ([#3713](https://togithub.com/xtermjs/xterm.js/issues/3713)) via [@CommanderRoot](https://togithub.com/CommanderRoot) - Dependency updates ([#3714](https://togithub.com/xtermjs/xterm.js/issues/3714), [#3715](https://togithub.com/xtermjs/xterm.js/issues/3715)) via [@dependabot](https://togithub.com/dependabot) - Consolidate powerline glyph detection ([#3743](https://togithub.com/xtermjs/xterm.js/issues/3743), [#3756](https://togithub.com/xtermjs/xterm.js/issues/3756)) via [@meganrogge](https://togithub.com/meganrogge) - Speed up decoration rendering ([#3769](https://togithub.com/xtermjs/xterm.js/issues/3769)) via [@Tyriar](https://togithub.com/Tyriar) - Enable the search highlight all matches feature in the demo by default ([#3786](https://togithub.com/xtermjs/xterm.js/issues/3786)) via [@Tyriar](https://togithub.com/Tyriar) - Simplify CSS rules ([#3787](https://togithub.com/xtermjs/xterm.js/issues/3787)) via [@Tyriar](https://togithub.com/Tyriar) - Add a warning in the demo's implementation calling out the importance of flow control ([#3789](https://togithub.com/xtermjs/xterm.js/issues/3789)) via [@Tyriar](https://togithub.com/Tyriar) - Deflake link provider tests ([#3822](https://togithub.com/xtermjs/xterm.js/issues/3822)) via [@Tyriar](https://togithub.com/Tyriar) - Standardize internal handling of colors for simplicity ([#3824](https://togithub.com/xtermjs/xterm.js/issues/3824)) via [@Tyriar](https://togithub.com/Tyriar) - Add convenient powerline symbol test button to demo ([#3828](https://togithub.com/xtermjs/xterm.js/issues/3828)) via [@Tyriar](https://togithub.com/Tyriar) - Organize demo test buttons ([#3852](https://togithub.com/xtermjs/xterm.js/issues/3852)) via [@umaxyon](https://togithub.com/umaxyon) - Re-enable webgl minimum contrast ratio tests ([#3863](https://togithub.com/xtermjs/xterm.js/issues/3863)) via [@Tyriar](https://togithub.com/Tyriar) - Fix a typo in serialize addon test ([#3865](https://togithub.com/xtermjs/xterm.js/issues/3865)) via [@mmis1000](https://togithub.com/mmis1000) #### 🎉 New real-world use cases - hack.courses ([#3837](https://togithub.com/xtermjs/xterm.js/issues/3837)) via [@lp1dev](https://togithub.com/lp1dev) - Render ([#3871](https://togithub.com/xtermjs/xterm.js/issues/3871)) via [@crcastle](https://togithub.com/crcastle) - CloudTTY ([#3876](https://togithub.com/xtermjs/xterm.js/issues/3876)) via yankay *** #### 📥 Addons ##### xterm-addon-search - Support showing all find matches by leveraging decorations ([#3698](https://togithub.com/xtermjs/xterm.js/issues/3698), [#3707](https://togithub.com/xtermjs/xterm.js/issues/3707), [#3708](https://togithub.com/xtermjs/xterm.js/issues/3708), [#3709](https://togithub.com/xtermjs/xterm.js/issues/3709), [#3710](https://togithub.com/xtermjs/xterm.js/issues/3710), [#3736](https://togithub.com/xtermjs/xterm.js/issues/3736), [#3750](https://togithub.com/xtermjs/xterm.js/issues/3750), [#3757](https://togithub.com/xtermjs/xterm.js/issues/3757), [#3767](https://togithub.com/xtermjs/xterm.js/issues/3767), [#3768](https://togithub.com/xtermjs/xterm.js/issues/3768), [#3811](https://togithub.com/xtermjs/xterm.js/issues/3811), [#3835](https://togithub.com/xtermjs/xterm.js/issues/3835)) via [@meganrogge](https://togithub.com/meganrogge), [@Tyriar](https://togithub.com/Tyriar) - Return the number of results when searching ([#3716](https://togithub.com/xtermjs/xterm.js/issues/3716), [#3731](https://togithub.com/xtermjs/xterm.js/issues/3731), [#3745](https://togithub.com/xtermjs/xterm.js/issues/3745), [#3752](https://togithub.com/xtermjs/xterm.js/issues/3752), [#3793](https://togithub.com/xtermjs/xterm.js/issues/3793), [#3831](https://togithub.com/xtermjs/xterm.js/issues/3831), [#3874](https://togithub.com/xtermjs/xterm.js/issues/3874)) via [@meganrogge](https://togithub.com/meganrogge) - Allow external styling of the active result decoration via `.xterm-find-active-result-decoration` ([#3802](https://togithub.com/xtermjs/xterm.js/issues/3802)) via [@Tyriar](https://togithub.com/Tyriar) ##### xterm-addon-serialize - Restore cursor style during serialize ([#3682](https://togithub.com/xtermjs/xterm.js/issues/3682)) via [@Tyriar](https://togithub.com/Tyriar) ##### xterm-addon-web-links - Expose `urlRegex` in public API ([#3719](https://togithub.com/xtermjs/xterm.js/issues/3719)) via [@LuckyGeck](https://togithub.com/LuckyGeck) - Handle wrapped lines properly ([#3718](https://togithub.com/xtermjs/xterm.js/issues/3718)) via [@LuckyGeck](https://togithub.com/LuckyGeck) ##### xterm-addon-webgl - Simplified and sped up selection rendering by leveraging the decorations feature ([#3782](https://togithub.com/xtermjs/xterm.js/issues/3782), [#3860](https://togithub.com/xtermjs/xterm.js/issues/3860)) via [@Tyriar](https://togithub.com/Tyriar) #### 🤝 Compatible addon versions - `xterm-addon-attach@0.6.0` - `xterm-addon-fit@0.5.0` - `xterm-addon-ligatures@0.5.3` - `xterm-addon-search@0.9.0` - `xterm-addon-serialize@0.7.0` - `xterm-addon-unicode11@0.3.0` - `xterm-addon-web-links@0.6.0` - `xterm-addon-webgl@0.12.0` *** #### 🌐 Website - Add decorations to the demo (https://github.com/xtermjs/xtermjs.org/pull/170) via [@meganrogge](https://togithub.com/meganrogge) - Fix a typo in hooks guide (https://github.com/xtermjs/xtermjs.org/pull/171) via [@fixator10](https://togithub.com/fixator10) - Fix handling of `}`, `|` and `~` in the demo (https://github.com/xtermjs/xtermjs.org/pull/175) via [@MOBUMIN](https://togithub.com/MOBUMIN)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 has been generated by Mend Renovate. View repository job log here.