Releases: xtermjs/xterm.js
Releases ยท xtermjs/xterm.js
3.12.1
3.12.0
๐ Bug fixes
- Allow incremental searches to shorten and still retain selection (#1916) via @skyway777
- Fix NPE when
\x1b[?1003h
or\x1b[?1003l
is sent to the terminal before open is called (for good this time) (#1905) via @pfitzseb - Fix renderer incorrectly pausing under some environments (#1929) via @coderaiser
- Fix an NPE when resizing both dimensions (#1930) via @Tyriar
- Fix variable substitution in docker-compose.yml file (#1934) via @ahtshamraziq
- Fix some characters being drawn with the wrong line height (#1938) via @Tyriar
- Disable reflow completely when winptycompat is enabled (#1950) via @Tyriar
- Fix link underline/hover not deactivating when on boundary of terminal (#1959) via @nikonso
๐ Documentation and internal improvements
- Use a time-based limit for parsing time, this should make frame drops much less likely (#1818) via @juancampa
- Create a roadmap and link it in the README (#1925) via @Tyriar
- Update license year (#1928) via @Tyriar
- Remove redundant font-family declaration in CSS file (#1936) via @Tyriar
- Documentation style improvements (#1953) via @cherouvim
- Remove costly Array.shift call during data input (#1956) via @JesseStolwijk
๐ New real-world use cases
3.11.0
๐ Features
- Text is now wrapped and unwrapped when the terminal is horizontally resized (#1864) via @Tyriar, this was the most upvoted feature on GitHub
๐ API
- These properties on
Terminal
are now marked asreadonly
:element
,textarea
,rows
,cols
,markers
(#1871, #1917) via @Tyriar
๐ Bug fixes
- Links on lines that start with
\t
are no longer offset incorrectly (#1887) via @jerch - Fix NPE when
\x1b[?1003h
or\x1b[?1003l
is sent to the terminal beforeopen
is called (#1905) via @pfitzseb - Make textarea positioning work with css transformations (#1912) via @mofux
๐ Documentation and internal improvements
- Boost parser performance by working on typed arrays over strings (#1796) via @jerch
- Removed old js array-based buffer implementation (#1877) via @jerch
- Fixed various typos in the code/comments (#1886) via @epicfaace
- Prevent the
charsizechanged
internal event from firing unnecessarily (#1897) via @juancampa - Remove unused var and unnecessary defensive check (#1900) via @Tyriar
- Call out in the
Terminal.resize
API docs that it's best to debounce calls to it (#1919) via @Tyriar
3.10.1
๐ Bug fixes
- Fixed the security vulnerability described in CVE-2019-0542 via @Tyriar, @jerch. (Thanks to Felix Wilhelm from the Google Security Team)
- Fixed keys like volume up and context menu printing their names when pressed (#1881) via @Tyriar
3.9.2
๐ Bug fixes
- Fixed the security vulnerability described in CVE-2019-0542 via @Tyriar, @jerch. (Thanks to Felix Wilhelm from the Google Security Team)
3.8.1
๐ Bug fixes
- Fixed the security vulnerability described in CVE-2019-0542 via @Tyriar, @jerch. (Thanks to Felix Wilhelm from the Google Security Team)
3.10.0
๐ Features
- Allow holding a key down to send multiple characters (#1849) via @epicfaace
search
addon:- Find multiple instances on the same line (#1763) via @noamyogev84
- Support incremental searching, a.k.a. search as you type (#1826) via @nojvek
๐ API
- Add experimental hooks for adding custom CSI and OSC functionality (#1853) via @PerBothner, see
Terminal.addCsiHandler
andTerminal.addOscHandler
๐ Bug fixes
- Fix selection when using positioning the terminal using
position: fixed
(#1788) via @gou4shi1 - Don't recreate the renderer when the char atlas changes (#1820) via @Tyriar
- Dispose of char atlases when they're no longer used by any terminals (#1821) via @Tyriar
- Optimize OSC_STRING parsing (#1822) via @PerBothner
- Fix NPE in linkifier (#1841) via @jerch
- Fix calls to translateToString when endCol === 0 (#1843) via @Tyriar
- Fix text being top aligned on Chrome and Firefox (#1859) via @Tyriar
- Fix NPE in DOM renderer underline code (#1861) via @Tyriar
fullscreen
addon: Fix illegal invocation error (#1851) via @robins1212search
addon: Fix bug preventing searching backwards (#1865) via @ntchjbwebLinks
addon: Don't allow quotes at the end of a URL (#1846) via @linrockwinptyCompat
addon: Fix wrapped line heuristic (#1850) via @Tyriar
๐ Documentation and internal improvements
- Differentiate whitespace and "null" cells in the buffer (#1775) via @jerch
- Allow decimal line heights in the demo (#1819) via @Tyriar
- Remove old AUTHORS file (#1827) via @Tyriar
- Refactors towards new layering structure (#1828) via @Tyriar
- Remove unused dependency (#1832) via @Tyriar
- Add VS Code debugging launch targets (#1834) via @Tyriar
- Fix build when using node 10+ (#1847) via @linrock
- Fix missing quotes in README code example (#1848) via @linrock
- Remove Gitter and improve README (#1856) via @Tyriar
- Whitespace fix (#1863) via @vincentwoo
3.9.1
3.9.0
๐ Features
-
Introduced a new buffer implementation based on typed arrays that recycles memory (#1641, #1731, #1736, #1740, #1793, #1812) via @jerch.
Comparison of the buffer implementations, benchmarked with the demo with 1000 lines scrollback and typical payload (
ls
output):buffer based on memory footprint GC runtime input throughput JS Array 25 - 50 MB JS Heap, 6 MB C++ Heap 15 - 25 % 7 - 8 MB/s Typed Array 8 - 15 MB JS Heap, 1.5 MB C++ Heap < 3 % 17 - 19 MB/s The typed array based implementation is the new default, if you run into issues please report them and switch back to the old buffer using:
new Terminal({ experimentalBufferLineImpl: 'JsArray' })
-
Support the lineHeight option in the DOM renderer (#1733) via @leomoty
๐ Bug fixes
- Fill lines inserted from scrolling with erase attributes (#1706) via @whydoubt
- Clear the isWrapped flag on erased lines (eg. from a
clear
call) (#1720) via @alexr00 - Fix an infinite loop in character print code (#1735) via @Tyriar
- Fix inverse colors in the DOM renderer and dynamic char atlas (#1739) via @Tyriar
- Fix docker image build (#1742) via @AndrienkoAleksandr
- Fix NPE in DOM renderer when using the underline attribute (#1748) via @Tyriar
- Fix some CJK characters rendering incorrectly when using dynamic char atlas (#1758) via @Tyriar
- Improve alt buffer cursor handling to align more with xterm (#1764) via @whydoubt
- Only show crosshair cursor when using column select if the terminal has focus (#1772) via @whydoubt
- Fix the DOM renderer overlapping with the scroll bar (#1780) via @whydoubt
- Fix wheel up event never firing on Firefox (#1782) via @astefanutti
- Fix missing control characters in parser (#1783) via @jerch
- Fix edge cases in click in selection function which could lead to the wrong cells being selected when double clicking (#1784) via @Tyriar
- Fix error preventing the bell audio from working when using multiple terminals (#1787) via @jerch
- Web links addon
- Search addon
- Don't consider
_
a word separator in the search addon (#1743) via @alexr00 - Clear selection when no results are found (#1756) via @skprabhanjan
- Search from the top of the viewport when there is no selection (#1760) via @skprabhanjan
- Don't consider
๐ Documentation and internal improvements
- Start moving parts of the codebase to use TypeScript strict null checks (#1699) via @Tyriar
- Use yarn integrity checks (#1728) via @Tyriar
- Improve reliability/speed of the demo (#1744) via @jerch
- Update Azure Data Studio's name in README (#1745) via @Tyriar
- Improve API for consumers using TypeScript strict null checks (#1752) via @Tyriar
- Run tests & tslint on addons (#1754) via @vladimirZe
- Fix typos in source comments (#1759) via @stkvrs
- Significantly improve wcwidth performance (#1789) via @jerch
- Significantly improve DOM renderer performance, especially in large terminals (#1792) via @Tyriar
- Improve contribution documentation (#1791) via @Tyriar
- Remove unused function parameters (#1794) via @Tyriar
- Refactors towards new code layering structure (#1795, #1799) via @Tyriar
- Upgrade to TypeScript 3.1 (#1800) via @Tyriar
๐ New real-world use cases
- WebSSH (#1768) via @huashengdun
- Info beamer hosted (#1806) via @dividuum
3.8.0
๐ Features
- Allow links that wrap either above or below the viewport to work (#1693) via @jerch
- DOM renderer
- Search addon
๐ Bug fixes
- Add a fallback for link underline colors in case there is an issue extracting the color (#1670)
- Improve unicode support in link handling (#1678) via @jerch
- Reduce dynamic texture atlas unnecessary objects and draw from an ImageBitmap (#1692) via @Tyriar
- Fix scroll APIs not affecting the scroll bar (#1698) via @Tyriar
- Add additional NPE checks to link logic (#1703) via @Tyriar
- Prevent NPE when disposing the terminal shortly after creation (#1717) via @Tyriar
๐ Documentation and internal improvements
- Add unit tests for event APIs (#1646) via @peacefullatom
- Improve demo build process (#1648) via @Tyriar
- Minor tslint improvements (#1651) via @Tyriar
- Move to TypeScript 3 (#1652) via @Tyriar
- Fix demo build issues (#1668, #1672) via @jerch, @Tyriar
- Move addon builds into a separate task (#1675) via @Tyriar
- Setup Azure Pipelines (#1681, #1687) via @Tyriar
- Fix an issue with search addon not respecting wrapped line ending whitespace (#1682) via @alexr00
- Remove npm-run-all dependency (#1696) via @Tyriar
- Remove comment regarding removal of the fake terminal (#1718) via @zwhitchcox