fix(deps): update dependency xterm to v5 #208
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^4.13.0
->^5.0.0
Release Notes
xtermjs/xterm.js
v5.0.0
Compare Source
v5 is here! This is our largest release in a long time, maybe ever 👀
Since this was a major version bump, we used the opportunity to clean up the API and make other breaking changes. Many of these changes enabled a significant reduction in the
xterm
module bundle size which went from 379kb to 265kb for a 30% reduction!🚀 Features
Underline style and color support (#3921, #3976, #3980, #4053, #4068, #4074, #4077, #4109) via @Tyriar
Underline style and color sequences such as
CSI 4:2m ST
for double underlines are now supported:Some work was also done to improve underline rendering overall, characters with long descenders don't overlap with the underline:
Hyperlink escape sequence support (#4005, #4087, #4088) via @Tyriar, @jerch
Building upon the improved underline rendering, hyperlink escapes outlined in this gist are now supported. They will be rendered using a dashed underline (like
CSI 4:5m ST
):Along with this is a new
linkHandler
option which allows controling hover, leave and activate events, for example to show a custom tooltip. VS Code's implementation looks like this:Smooth scroll support (#3940) via @Tyriar
The new
smoothScrollDuration
allows setting a duration in milliseconds to animate scroll between the origin and target positions. This is most useful when using a physical mouse (not a trackpad) to help not disorient the user when scrolling with the mouse wheel.Canvas renderer addon (#3949, #3950, #3954, #3959, #3961, #3981) via @Tyriar
The canvas renderer has moved into an addon, significantly reducing the bundle size of the
xterm
module. This used to be the default renderer and is now recommended only as a fallback to the webgl addon if that does not work for some reason (eg. no webgl2 support).New VT feature support (#4093, #4095, #4098)via @jerch
xterm.js handles several new VT sequences:
Other features
ITheme.selectionInactiveBackground
will now change the selection color when the terminal is not focusedparser
andbuffer
APIs are now stable (#3951) via @Tyriar🐞 Bug fixes
allowTransparency
from its initial value in theTerminal
constructor (#3899) via @TyriarcursorStyle
(#3900) via @Tyriar📝 Documentation and internal improvements
Terminal.dispose
is called (#3958) via @TyriarwindowsMode
option for the version of Windows 11 that it's recommended to be disabled on (#3967) via @Tyriar🛑 Breaking changes
bellSound
andbellStyle
options as well as the previously builtin sound have been removed (#3941) via @Tyriar. This reduces the bundle size while still allowing the embedder to support the terminal bell via theTerminal.onBell
APIThe link matcher API
registerLinkMatcher
andderegisterLinkMatcher
have been removed in favor of the link provider API (#3944) via @Tyriar.The
allowProposedApi
option now defaults tofalse
, set this totrue
to opt-in to proposed API usage if you understand the implications (#3945) via @TyriarThe deprecated
addMarker
API has been removed in favor ofregisterMarker
(#3946) via @Tyriar. They are functionally equivalent.The deprecated
getOption
andsetOption
APIs have been removed in favor ofoptions
(#3947) via @TyriarThe deprecated
writeUtf8
API has been removed in favor ofwrite
(#3947) via @Tyriar.ISelectionPosition
have been removed from the API in favor ofIBufferRange
(#3952) via @Tyriarcols
androws
options can now only be set in the constructor (#3960, #3972, #4078) via @Tyriar, @silamonITheme.selection
has been renamed toselectionBackground
for consistency (#3964) via @TyriarThe
Terminal.options
getter now returns aRequired<ITerminalOptions>
instead of justITerminalOptions
for better correctness. Along with this changefastScrollModifier
now accepts'none'
instead ofundefined
🎉 New real-world use cases
📥 Addons
xterm-addon-canvas
▛
(U+259B) character (#3902) via @Tyriarxterm-addon-fit
proposeDimensions
to includeundefined
(#3882) via @jerchxterm-addon-ligatures
xterm-addon-web-links
xterm-addon-webgl
More efficient GPU memory usage using new texture atlas packing strategy (#3979) via @Tyriar
The previous naive texture packing strategy which only allowed adding to the "active row" or below has been replaced with a new strategy that uses multiple active rows and adds glyphs to the most suitable row based on its pixel height. This leads to more effective usage of the texture xterm.js uploads to the GPU, meaning it's harder to reset the texture when it becomes filled (which is more likely to happen when screen scale is high).
Before:
After:
Other changes
▛
(U+259B) character (#3902) via @Tyriar🤝 Compatible addon versions
xterm-addon-attach@0.7.0
xterm-addon-canvas@0.2.0
xterm-addon-fit@0.6.0
xterm-addon-ligatures@0.6.0
xterm-addon-search@0.10.0
xterm-addon-serialize@0.8.0
xterm-addon-unicode11@​0.4.0
xterm-addon-web-links@0.7.0
xterm-addon-webgl@0.13.0
🌐 Website
v4.19.0
Compare Source
🚀 Features
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.#rgb
,#rgba
,rgb(r, g, b)
andrgba(r, g, b, a)
color formats (#3815, #3819, #3823) via @ChaseKnowlden, @TyriarselectionBackground
is now supported in the DOM renderer (#3839) via @TyriarITerminalOptions.customGlyphs
is enabled (#3856, #3862, #3866) via @TyriarThis has multiple benefits:
ITerminalOptions.lineHeight
is taken into account when rendering the glyph📦 API
overviewRulerOptions
property to a decoration'sIDecorationOptions
and it will automatically show up in the overview ruler.ITerminalOptions.overviewRulerWidth
.selectionForeground
theme color, when set this will use a static color for selections (#3813) via @Tyriar🐞 Bug fixes
Terminal.clear
(#3671, #3868) via @meganroggeonSelectionChange
whenTerminal.select
is called (#3805) via @Tyriar📝 Documentation and internal improvements
getOption
/setOption
withoptions
(#3667) via @childrentimescrollback
is0
(#3678) via @silamon🎉 New real-world use cases
📥 Addons
xterm-addon-search
.xterm-find-active-result-decoration
(#3802) via @Tyriarxterm-addon-serialize
xterm-addon-web-links
urlRegex
in public API (#3719) via @LuckyGeckxterm-addon-webgl
🤝 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
}
,|
and~
in the demo (Add CharCode Demo doesn't support xtermjs/xtermjs.org#175) via @MOBUMINv4.18.0
Compare Source
📦 API
Support buffer decorations (#1852) via @meganrogge
Make registerMarker's cursor offset optional (#3663) via @childrentime
🐞 Bug fixes
📝 Documentation and internal improvements
🎉 New real-world use cases
🤝 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.8.2
xterm-addon-serialize@0.6.2
xterm-addon-unicode11@​0.3.0
xterm-addon-web-links@0.5.1
xterm-addon-webgl@0.11.4
v4.17.0
Compare Source
🚀 Features
📦 API
options
in thexterm-headless
API too (#3599) via @silamon🐞 Bug fixes
📝 Documentation and internal improvements
🎉 New real-world use cases
📥 Addons
xterm-addon-ligatures
xterm-addon-web-links
🤝 Compatible addon versions
xterm-addon-attach@0.6.0
xterm-addon-fit@0.5.0
xterm-addon-ligatures@0.5.2
xterm-addon-search@0.8.2
xterm-addon-serialize@0.6.1
xterm-addon-unicode11@​0.3.0
xterm-addon-web-links@0.5.1
xterm-addon-webgl@0.11.4
🌐 Website
v4.16.0
Compare Source
Make sure you update your xterm.css file if you have your own copy as there were some changes made there (xtermjs/xterm.js#3579).
🚀 Features
📦 API
Terminal.options
API (#3546, #3586) via @silamon🐞 Bug fixes
📝 Documentation and internal improvements
IKeyboardEvent.keyCode
as deprecated (#3582) via @Tyriar🎉 New real-world use cases
📥 Addons
xterm-addon-search
xterm-addon-web-links
xterm-addon-webgl
🤝 Compatible addon versions
xterm-addon-attach@0.6.0
xterm-addon-fit@0.5.0
xterm-addon-ligatures@0.5.1
xterm-addon-search@0.8.2
xterm-addon-serialize@0.6.1
xterm-addon-unicode11@​...
xterm-addon-web-links@0.5.0
xterm-addon-webgl@0.11.4
🌐 Website
v4.15.0
Compare Source
🚀 Features
📦 API
terminal.options
(#3448) via @silamon🐞 Bug fixes
📝 Documentation and internal improvements
InputHandler
tests (#3523) via @jerchUse
term.options
overterm.setOption
/getOption
:🎉 New real-world use cases
📥 Addons
xterm-addon-serialize
xterm-addon-webgl
🤝 Compatible addon versions
xterm-addon-attach@0.6.0
xterm-addon-fit@0.5.0
xterm-addon-ligatures@0.5.1
xterm-addon-search@0.8.1
xterm-addon-serialize@0.6.1
xterm-addon-unicode11@​0.3.0
xterm-addon-web-links@0.4.0
xterm-addon-webgl@0.11.3
🌐 Website
Pull from https://github.com/xtermjs/xtermjs.org/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Aclosed
v4.14.1
Compare Source
🐞 Bug fixes
v4.14.0
Compare Source
🚀 Features
xterm-headless
is a new package available on npm that allows xterm to run in a headless mode within node.js (#3212, #3214, #3413, #3414, #3420, #3421) via @Tyriar, @joyceerhl📦 API
modes
API exposes the terminal's internal modes (#3418) via @Tyriar. These are used for example in the xterm-addon-serialize to enable mode serialization.🐞 Bug fixes
📝 Documentation and internal improvements
🎉 New real-world use cases
📥 Addons
xterm-addon-ligatures
navigator
typing issues (#3371) via [@LabConfiguration
📅 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.